<?php

//Ce fichier contient toutes les fonctions spécifiques utilisés dans les différents scripts PHP
// fonction permettant de vérifier si la connexion a bien été établie
function connexionEtablie($con, $verbose) {

    if ($con != "") {
        return true;
    } else {
        if ($verbose == true) {
            echo "<div style=\"color:#CC0000;font-size:12px;text-align:center;margin:5px 0px 5px 0px;font-weight:bold;\">\n";
            echo "Impossible de se connecter à la base de données : le serveur &quot;" . SERVEUR . "&quot; est inactif. Désolé pour le désagrément.\n";
            echo "</div>\n";
        }
        return false;
    }
}

// fonction qui sert a déterminer si un nombre est pair
// cette fonction est utilisée pour coloriser une ligne sur deux  des tableaux... 

function est_pair($nombre) {
    return $nombre % 2;
}

// gestion des spams
function is_substr($laChaineRecherchee, $laChaineFouillee) {
    $pos = strpos($laChaineFouillee, $laChaineRecherchee);

    if ($pos === false) {
        return false;
    } else {
        return true;
    }
}

function codeSecu() {

    $characts = 'abcdefghijklmnopqrstuvwxyz';
    $characts .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $characts .= '1234567890';
    $codeSecurite = '';

    for ($i = 0; $i < 10; $i++) {    //10 est le nombre de caractères
        $codeSecurite .= substr($characts, rand() % (strlen($characts)), 1);
    }

    return $codeSecurite;
}

//Création du code de sécurité avec vérification de son existence dans la base
function codeSecuUnique($codeSecurite, $table, $conn) {
    $sqlCodeUnique = "SELECT * from " . $table . " where codeSecurite = '" . $codeSecurite . "' ";
    $resCodeUnique = mysql_query($sqlCodeUnique, $conn);
    $tabCodeUnique = mysql_fetch_array($resCodeUnique, MYSQL_ASSOC);
    //si le code est unique on retourne oui
    if ($tabCodeUnique == "") {
        return true;
    } else {
        return false;
    }
}

function mailMajInscription($id, $table, $conn, $expediteurMail, $UrlInscritsMaj) {
    //sql pour sélectionner la personne correspondant à l'$id fourni en parametre
    $sqlMajInscription = "SELECT id, nomManif, nomContact, prenomContact, courriel,  codeSecurite from " . $table . " where id = '" . $id . "' ";
    //	echo $sqlMajInscription;
    //echo "sqlMajInscription".$sqlMajInscription."<br>";
    // on execute la requette SQL
    $resMajInscription = mysql_query($sqlMajInscription, $conn);

    while ($obj = mysql_fetch_array($resMajInscription, MYSQL_ASSOC)) {
        $idDestinataire = $obj["id"];
        $nomManifDestinataire = $obj["nomManif"];
        $nomDestinataire = $obj["nomContact"];
        $prenomDestinataire = $obj["prenomContact"];
        $mailDestinataire = $obj["courriel"];
        $codeSecuriteDestinataire = $obj["codeSecurite"];
    }
    $urlModifierInscription = $UrlInscritsMaj . "?id=" . $idDestinataire . "&mailDestinataire=" . $mailDestinataire . "&codeSecurite=" . $codeSecuriteDestinataire;



    //l objet du message qui va etre envoyé
    $mailObjet = "[" . $nomManifDestinataire . "-" . $nomDestinataire . " " . $prenomDestinataire . "]  24h pour valider votre inscription";

    // le contenu du message qui va etre envoyé
    $mailCorps = "<html><head><body>Bonjour " . $prenomDestinataire . " " . $nomDestinataire . ",<br><br>Vous vous êtes pré-inscrits à " . $nomManifDestinataire . ".<br><br>";
    $mailCorps .= "Pour valider celle-ci, nous vous remercions de bien vouloir vérifier et compléter les informations de votre fiche individuelle - et en particulier dans l'encadré rouge - en cliquant sur le lien ci-dessous :<br><br>";
    $mailCorps .= "<a target=\"_blank\" href=\"" . $urlModifierInscription . "\">" . $urlModifierInscription . "</a><br><br>";
    $mailCorps .= "Nous vous invitons à consulter le programme mis à jour et les détails pratiques sur <a target=\"_blank\" href=\"http://www.journee-telesante.com/\">http://www.journee-telesante.com/</a> <br><br>";
    $mailCorps .= "Si vous rencontrez des difficultés, merci de prendre contact au plus vite avec le CATEL au coordonnées ci-dessous. <br><br>";
    $mailCorps .= "Cordialement <br><br>";
    $mailCorps .= "Stéphanie Balian <br>Responsable opérationnelle des événements du CATEL (Réseau de compétences en télésanté) <br>Tél : +33.(0)2.97.68.14.03<br>E-mail : sb.catel@telemedecine.org <br>";

    //l expéditeur du message
    $expediteurMail = "From:" . $expediteurMail . "\n";
    $headers = $expediteurMail . "Bcc:sb.catel@telemedecine.org\n";
    $headers .='Content-Type: text/html; charset="iso-8859-1"' . "\n";
    //		echo 'salut';
    //echo $mailDestinataire." ".$mailObjet." ".$mailCorps." ".$headers;
    return mail($mailDestinataire, $mailObjet, $mailCorps, $headers);
}

function mailJMoinsTrois($id, $table, $conn, $expediteurMail, $UrlInscritsMaj) {
    //sql pour sélectionner la personne correspondant à l'$id fourni en parametre
    $sqlMajInscription = "SELECT id, nomManif, nomContact, prenomContact, courriel,  codeSecurite from " . $table . " where id = '" . $id . "' ";

    //echo "sqlMajInscription".$sqlMajInscription."<br>";
    // on execute la requette SQL
    $resMajInscription = mysql_query($sqlMajInscription, $conn);

    while ($obj = mysql_fetch_array($resMajInscription, MYSQL_ASSOC)) {
        $idDestinataire = $obj["id"];
        $nomManifDestinataire = $obj["nomManif"];
        $nomDestinataire = $obj["nomContact"];
        $prenomDestinataire = $obj["prenomContact"];
        $mailDestinataire = $obj["courriel"];
        $codeSecuriteDestinataire = $obj["codeSecurite"];
    }
    $urlModifierInscription = $UrlInscritsMaj . "?id=" . $idDestinataire . "&mailDestinataire=" . $mailDestinataire . "&codeSecurite=" . $codeSecuriteDestinataire;



    //l objet du message qui va etre envoyé
    $mailObjet = "[" . $nomManifDestinataire . "-" . $nomDestinataire . " " . $prenomDestinataire . "]  Informations diverses";

    // le contenu du message qui va etre envoyé
    $mailCorps = "Bonjour " . $prenomDestinataire . " " . $nomDestinataire . ", \n\nVous vous êtes inscrits à " . $nomManifDestinataire . ".\n\n";
    $mailCorps .= " \n\n";
    $mailCorps .= "  \n\n";
    $mailCorps .= "Nous vous invitons à consulter le programme mis à jour et les détails pratiques sur http://www.journee-telesante.com/ \n\n";
    $mailCorps .= "Si vous rencontrez des difficultés, merci de prendre contact au plus vite avec le CATEL au coordonnées ci-dessous. \n\n";
    $mailCorps .= "Cordialement \n\n";
    $mailCorps .= "Stéphanie Balian \nResponsable opérationnelle des événements du CATEL (Réseau de compétences en télésanté) \nTél : +33.(0)2.97.68.14.03 \nE-mail : sb.catel@telemedecine.org \n";

    //l expéditeur du message
    $expediteurMail = "From:" . $expediteurMail . "\n";

    return mail($mailDestinataire, $mailObjet, $mailCorps, $expediteurMail);
}

function EnvoyerMail($sujet, $message, $destinataire, $expediteur) {
    $headers = "From: " . $expediteur . "\n";
    $headers .= "Content-Type: text/html; charset=\"utf-8\"";

    mail($destinataire, $sujet, $message, $headers);
}

function estDansColonne($valeur, $colonne) {
    for ($i = 0; $i < count($colonne); $i++) {
        if ($valeur == $colonne[$i]) {
            return true;
        }
    }
    return false;
}

function nb_elt_colonne($nb_elt) {
    if ($nb_elt < 6) {
        return $nb_elt;
    } else if ($nb_elt < 11) {
        return ceil($nb_elt / 2);
    } else {
        return ceil($nb_elt / 3);
    }
}

function recup_lien_page() {

    $URI = explode('/', $_SERVER['REQUEST_URI']);
    return $URI[count($URI) - 1];
}

function page_a_proteger($nom_page) {

    $liste_pages_accessibles = array("login", "forgot", "nouveau", "merci", "participation_journee", "indisponible");
    //   echo $nom_page.' : '.array_search($nom_page,$liste_pages_accessibles,TRUE).' : ';
    if (is_numeric(array_search($nom_page, $liste_pages_accessibles, TRUE))) {

        return false;
    } else {

        return true;
    }
}

function TVA($prix, $tva) {

    return round($prix * $tva / 100, 2);
}

function numCommande() {
    $annee_longue = date('Y');
    $rqt = "SELECT COUNT( * ) FROM Commande WHERE YEAR(dateCommande) = " . $annee_longue;
    $res = mysql_query($rqt);
    list($nb) = mysql_fetch_array($res);
    $nb++;
    return date('y') . str_pad('' . $nb, 4, "0", STR_PAD_LEFT);
}

function remplaceCarSpec($string) {

    //$string=preg_replace('/\s/', '-', $string);
    $tabCar = array(" ", "\t", "\n", "\r", "\0", "\x0B", "\xA0");
    $string = str_replace($tabCar, array(), $string);

    return strtr($string, 'àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ', 'aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY');
}

function creerFacture($idCommande) {
    $rqt_commande = "SELECT idUtilisateur, etatPaiement, datePaiement FROM Commande WHERE idCommande=" . $idCommande;
    $res_commande = mysql_query($rqt_commande);
    list($idUtilisateur, $etatPaiement, $datePaiement) = mysql_fetch_array($res_commande);
    $rqt_utilisateur = "SELECT civiliteUtilisateur, nomUtilisateur, prenomUtilisateur, nomOrganisme, adresseUtilisateur, cpUtilisateur, villeUtilisateur FROM utilisateur WHERE idUtilisateur=" . $idUtilisateur;
    $res_utilisateur = mysql_query($rqt_utilisateur);
    list($civiliteUtilisateur, $nomUtilisateur, $prenomUtilisateur, $nomOrganisme, $adresseUtilisateur, $cpUtilisateur, $villeUtilisateur) = mysql_fetch_array($res_utilisateur);

    $auj = date('d/m/Y');
    require_once("lib/dompdf/dompdf_config.inc.php");
    require 'config.php';
    $fichier_html = '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>FACTURE_' . $idCommande . '_' . strtoupper(remplaceCarSpec($prenomUtilisateur)) . ' ' . strtoupper(remplaceCarSpec($nomUtilisateur)) . '</title>
<meta http-equiv="Content-Type" content="text/html; charset="utf-8" />
<link rel="stylesheet" type="text/css" href="Styles/style.css" />
</head>';

    $fichier_html.='<body width="800px" style="font-family:sans-serif">
<table width="750px">
<tr><td>
<table width="750px">
  <tr>
   <td width="570px"><img src="img/logos/CATEL/CATEL_logo2010_miniature.jpg"></td>
   <td>FACTURE n&ordm;' . $idCommande . '<br>du ' . $auj . '</td>
   </tr>
</table>
</td></tr>
<tr><td>
<br>
<b>N&ordm; SIRET : </b>430 205 252 00025<br>
<b>Code APE : </b>913E<br><br>
<br>
<br>
<div width="100%" style="text-align:center;background-color:#e6ecff;border:1px solid black;">FACTURE DE ' . strtoupper(remplaceCarSpec($civiliteUtilisateur)) . ' ' . strtoupper(remplaceCarSpec($prenomUtilisateur)) . ' ' . strtoupper(remplaceCarSpec($nomUtilisateur)) . '</div>   
  <br>';
    $fichier_html.='<table width="750px">
  <tr>
  <td width="50%">&nbsp;</td>
  <td>';
    if ($adresseUtilisateur != "" || $villeUtilisateur != "") {
        $fichier_html.=strtoupper($nomOrganisme) . "<br>" . $adresseUtilisateur . ' ' . $cpUtilisateur . " " . strtoupper($villeUtilisateur);
    } else {
        $fichier_html.="<br><br>";
    }

    $fichier_html.='</td>
  </tr>
</table><br>';

    $fichier_html.= '<div style="text-align:center"><table class="facture">
    <tr><th>Article</th><th>Nombre</th><th>HT</th><th>TVA</th><th>TTC</th></tr>';

    $totalHT_commande = 0;
    $totalTVA_commande = 0;
    $totalTTC_commande = 0;
    //Participation Manifestation

    $rqt_participation = "SELECT p.idManifestation, m.nomManifestation, p.etatparticipation FROM participation as p LEFT JOIN manifestation as m ON p.idManifestation=m.idManifestation WHERE idCommande=" . $idCommande;
    $res_participation = mysql_query($rqt_participation);
    while (list($idManifestation, $nomManifestation, $preinscription) = mysql_fetch_array($res_participation)) {
        $rqt_tarif = "SELECT intituleTarif, tarifHT FROM Tarif WHERE idTarif=" . idTarif_manif_utilisateur($idManifestation, $_SESSION['statuts']);
        $res_tarif = mysql_query($rqt_tarif);
        list($intituleTarif, $tarifHT) = mysql_fetch_array($res_tarif);
        $tarif_tva = TVA($tarifHT, $tva);
        $tarifTTC = $tarifHT + $tarif_tva;
        $totalHT_commande+=$tarifHT;
        $totalTVA_commande+=$tarif_tva;
        $totalTTC_commande+=$tarifTTC;
        if ($preinscription == "PREINSCRIT") {
            $libInscription = "Préinscription";
        } else {
            $libInscription = "Inscription";
        }
        $fichier_html.'<tr><td style="text-align:left">' . $libInscription . ' à la manifestation ' . utf8_encode($nomManifestation) . '<br><i>' . utf8_encode($intituleTarif) . '</i></td><td>1</td><td>' . number_format($tarifHT, 2, ',', ' ') . '</td><td>' . number_format($tarif_tva, 2, ',', ' ') . '</td><td>' . number_format($tarifTTC, 2, ',', ' ') . '</td></tr>';
    }


    //RDV

    $rqt_RDV = "SELECT r.idRDV, r.intituleRDV, cr.NombreRDV FROM commanderdv as cr LEFT JOIN RDV as r ON cr.idRDV=r.idRDV WHERE cr.idCommande=" . $idCommande;
    //echo $rqt_RDV;
    $res_RDV = mysql_query($rqt_RDV);
    while (list($idRDV, $intituleRDV, $nbRDV) = mysql_fetch_array($res_RDV)) {
        $rqt_tarif = "SELECT intituleTarif, tarifHT FROM Tarif WHERE idTarif=" . idTarif_RDV_utilisateur($idRDV, $_SESSION['statuts']);
        $res_tarif = mysql_query($rqt_tarif);
        list($intituleTarif, $tarifHT) = mysql_fetch_array($res_tarif);
        if (isset($_SESSION['statuts']) && est_adherent($_SESSION['statuts'])) {
            $tarifHT = $tarifHT * ($nbRDV - 1);
        } else {
            $tarifHT = $tarifHT * ($nbRDV);
        }
        $tarif_tva = TVA($tarifHT, $tva);
        $tarifTTC = $tarifHT + $tarif_tva;
        $totalHT_commande+=$tarifHT;
        $totalTVA_commande+=$tarif_tva;
        $totalTTC_commande+=$tarifTTC;
        $fichier_html.= '<tr><td style="text-align:left">' . utf8_encode($intituleRDV) . '<br><i>' . utf8_encode($intituleTarif) . '</i></td><td>' . $nbRDV . '</td><td>' . number_format($tarifHT, 2, ',', ' ') . ' €</td><td>' . number_format($tarif_tva, 2, ',', ' ') . ' €</td><td>' . number_format($tarifTTC, 2, ',', ' ') . ' €</td></tr>';
    }

    //RDV

    $rqt_AP = "SELECT ap.idAccesPlateforme, ap.intituleAccesPlateforme, cap.nombreAcces FROM commandeaccesplateforme as cap LEFT JOIN AccesPlateforme as ap ON cap.idAccesPlateforme=ap.idAccesPlateforme WHERE cap.idCommande=" . $idCommande;

    $res_AP = mysql_query($rqt_AP);
    while (list($idAP, $intituleAP, $nbAP) = mysql_fetch_array($res_AP)) {
        $rqt_tarif = "SELECT intituleTarif, tarifHT FROM Tarif WHERE idTarif=" . idTarif_plateforme_utilisateur($idAP, $_SESSION['statuts']);
        $res_tarif = mysql_query($rqt_tarif);
        list($intituleTarif, $tarifHT) = mysql_fetch_array($res_tarif);
        $tarifHT = $tarifHT * ($nbAP);

        $tarif_tva = TVA($tarifHT, $tva);
        $tarifTTC = $tarifHT + $tarif_tva;
        $totalHT_commande+=$tarifHT;
        $totalTVA_commande+=$tarif_tva;
        $totalTTC_commande+=$tarifTTC;
        $fichier_html.= '<tr><td style="text-align:left">' . utf8_encode($intituleAP) . '<br><i>' . utf8_encode($intituleTarif) . '</i></td><td>' . $nbAP . '</td><td>' . number_format($tarifHT, 2, ',', ' ') . ' €</td><td>' . number_format($tarif_tva, 2, ',', ' ') . ' €</td><td>' . number_format($tarifTTC, 2, ',', ' ') . ' €</td></tr>';
    }


    //TOTAUX
    $fichier_html.= '<tr style="background-color:white"><td style="border:0px;"></td><th colspan="2">TOTAL HT</td><td colspan="2"><b>' . number_format($totalHT_commande, 2, ',', ' ') . ' €</b></td></tr>';
    $fichier_html.= '<tr style="background-color:white"><td style="border:0px;"></td><th colspan="2">TOTAL TVA</td><td colspan="2"><b>' . number_format($totalTVA_commande, 2, ',', ' ') . ' €</b></td></tr>';
    $fichier_html.= '<tr style="background-color:white"><td style="border:0px;"></td><th colspan="2">TOTAL TTC</td><td colspan="2"><b>' . number_format($totalTTC_commande, 2, ',', ' ') . ' €</b></td></tr>';





    $fichier_html.='</table></div><br><br>';
    if ($etatPaiement == 'REGLE') {
        $fichier_html.='<div style="text-align:justify"><b>Réglée le ' . strftime("%d/%m/%Y à %H:%M", strtotime($datePaiement)) . '.</b></div><br><br>';
    } else {
        $fichier_html.='<div style="text-align:justify"><b>Si vous n\'avez pas r&eacute;gl&eacute; votre commande en ligne, votre r&egrave;glement doit imp&eacute;rativement parvenir au CATEL sous 7 jours.</b><br>
<b><u>Modalit&eacute;s de paiement :</u></b><br>
<u>Par ch&egrave;que (&agrave; l\'ordre du CATEL) ou par virement bancaire (en pr&eacute;cisant clairement dans le libell&eacute; du paiement : [CAR13-NOM-ORGANISME], soit par exemple : [CAR13-DUPONT-CHDUNORD]):</u><br>
<b>Titulaire du compte :</b> Association CATEL Réseau<br>
<b>Compte :</b> Crédit Agricole du Morbihan 16006 36011 00047990845 42<br>
<b>Adresse banque :</b> Avenue de Keranguen 56956 Vannes Cedex 9<br>
<b>IBAN :</b> FR76 1600 6360 1100 0479 9084 542<br>
<b>SWIFT :</b> AGRI FR PP 860<br>
</div>';
    }
    $fichier_html.='<br>

</td></tr>

</table>

</body>
</html>';

//*****
//création du fichier PDF créé a partir du fichier HTML ci dessus
//
    $dompdf = new DOMPDF();
    $dompdf->load_html($fichier_html);
    $dompdf->render();
    $pdfoutput = $dompdf->output();
//dossier et nom du fichier PDF FACTURE_2013XXX_PRENOM_JAN.pdf
    $filename = 'Factures/FACTURE_' . $idCommande . '_' . strtoupper(remplaceCarSpec($prenomUtilisateur)) . '_' . strtoupper(remplaceCarSpec($nomUtilisateur)) . '.pdf';
    $fp = fopen($filename, "a");
    fwrite($fp, $pdfoutput);
    fclose($fp);
    return $filename;
}

?>
